//
//  XFBFlowView.h
//  xfb
//
//  Created by XFB on 2022/4/14.
//  Copyright © 2022 XFB. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@protocol FlowViewFrameDelegate <NSObject>
- (void)calculateFrame:(CGRect)rect;
@end

typedef void(^FlowViewFrameBlock)(CGRect rect);

// 按钮点击
typedef void(^FlowViewButtonBlock)(NSArray *buttons);

@interface XFBFlowView : UIView

// 标签数组
@property (nonatomic, strong) NSMutableArray *lists;

@property (nonatomic, copy) FlowViewButtonBlock buttonBlock;
@property (nonatomic, copy) FlowViewFrameBlock frameBlock;
@property (nonatomic, weak) id <FlowViewFrameDelegate> delegate;

// 左侧间距（默认：16）
@property (nonatomic, assign) CGFloat leftMargin;
// 右侧间距（默认：16）
@property (nonatomic, assign) CGFloat rightMargin;

// 内边距（默认：10）
@property (nonatomic, assign) CGFloat padding;
// 水平间距（默认：16）
@property (nonatomic, assign) CGFloat minimumInteritemSpacing;
// 垂直间距 or 行间距（默认：12）
@property (nonatomic, assign) CGFloat minimumLineSpacing;

// item的高度 (默认：32)
@property (nonatomic, assign) CGFloat itemHeight;
// item背景颜色（默认：0xF8F8F8 or #F8F8F8)
@property (nonatomic, strong) UIColor *itemBackgroudColor;
// item文字颜色 (默认：0x333333 or #333333)
@property (nonatomic, strong) UIColor *itemTextColor;
// item文字大小（默认：13）
@property (nonatomic, strong) UIFont *itemTextFont;
// item border (默认：0)
@property (nonatomic, assign) CGFloat itemRadius;

// 计算布局
- (CGRect)calculateFlowViewFrame;

@end

NS_ASSUME_NONNULL_END
